package cc.co.llabor.threshold.nagios.o;

import java.util.List;

/** 
 * <b>Description:TODO</b>
 * @author      vipup<br>
 * <br>
 * <b>Copyright:</b>     Copyright (c) 2006-2008 Monster AG <br>
 * <b>Company:</b>       Monster AG  <br>
 * 
 * Creation:  21.02.2012::09:44:11<br> 
 */
public class Service {
	// Directive Descriptions:
	
	//host_name: This directive is used to specify the
	// short name(s) of the host(s) that the service "runs" on or is associated
	// with. Multiple hosts should be separated by commas.
	//             String host_name; 
	// hostgroup_name: This directive is used to specify the short name(s) of
	// the hostgroup(s) that the service "runs" on or is associated with.
	// Multiple hostgroups should be separated by commas. The hostgroup_name may
	// be used instead of, or in addition to, the host_name directive.
	// service_description;: This directive is used to define the description of
	// the service, which may contain spaces, dashes, and colons (semicolons,
	// apostrophes, and quotation marks should be avoided). No two services
	// associated with the same host can have the same description. Services are
	// uniquely identified with their host_name and service_description
	// directives.
	// display_name: This directive is used to define an alternate name that
	String display_name;
	// should be displayed in the web interface for this service. If not
	// specified, this defaults to the value you specify for the
	// service_description directive. Note: The current CGIs do not use this
	// option, although future versions of the web interface will.
	// servicegroups: This directive is used to identify the short name(s) of
	List<ServiceGroup> groups;
	// the servicegroup(s) that the service belongs to. Multiple servicegroups
	// should be separated by commas. This directive may be used as an
	// alternative to using the members directive in servicegroup definitions.
	// is_volatile: This directive is used to denote whether the service is
	// "volatile". Services are normally not volatile. More information on
	// volatile service and how they differ from normal services can be found
	// here. Value: 0 = service is not volatile, 1 = service is volatile.
	// check_command:
	// This directive is used to specify the short name of the command that
	// Nagios will run in order to check the status of the service. The maximum
	// amount of time that the service check command can run is controlled by
	// the service_check_timeout option.
	// initial_state: By default Nagios will assume that all services are in OK
	// states when it starts. You can override the initial state for a service
	// by using this directive. Valid options are: o = OK, w = WARNING, u =
	// UNKNOWN, and c = CRITICAL.
	// max_check_attempts: This directive is used to define the number of times
	// that Nagios will retry the service check command if it returns any state
	// other than an OK state. Setting this value to 1 will cause Nagios to
	// generate an alert without retrying the service check again.
	// check_interval: This directive is used to define the number of
	// "time units" to wait before scheduling the next "regular" check of the
	// service. "Regular" checks are those that occur when the service is in an
	// OK state or when the service is in a non-OK state, but has already been
	// rechecked max_check_attempts number of times. Unless you've changed the
	// interval_length directive from the default value of 60, this number will
	// mean minutes. More information on this value can be found in the check
	// scheduling documentation.
	// retry_interval: This directive is used to define the number of
	// "time units" to wait before scheduling a re-check of the service.
	// Services are rescheduled at the retry interval when they have changed to
	// a non-OK state. Once the service has been retried max_check_attempts
	// times without a change in its status, it will revert to being scheduled
	// at its "normal" rate as defined by the check_interval value. Unless
	// you've changed the interval_length directive from the default value of
	// 60, this number will mean minutes. More information on this value can be
	// found in the check scheduling documentation.
	// active_checks_enabled *: This directive is used to determine whether or
	// not active checks of this service are enabled. Values: 0 = disable active
	// service checks, 1 = enable active service checks (default).
	// passive_checks_enabled *: This directive is used to determine whether or
	// not passive checks of this service are enabled. Values: 0 = disable
	// passive service checks, 1 = enable passive service checks (default).
	// check_period: This directive is used to specify the short name of the
	// time period during which active checks of this service can be made.
	// obsess_over_service *: This directive determines whether or not checks
	// for the service will be "obsessed" over using the ocsp_command.
	// check_freshness *: This directive is used to determine whether or not
	// freshness checks are enabled for this service. Values: 0 = disable
	// freshness checks, 1 = enable freshness checks (default).
	// freshness_threshold: This directive is used to specify the freshness
	// threshold (in seconds) for this service. If you set this directive to a
	// value of 0, Nagios will determine a freshness threshold to use
	// automatically.
	// event_handler: This directive is used to specify the short name of the
	// command that should be run whenever a change in the state of the service
	// is detected (i.e. whenever it goes down or recovers). Read the
	// documentation on event handlers for a more detailed explanation of how to
	// write scripts for handling events. The maximum amount of time that the
	// event handler command can run is controlled by the event_handler_timeout
	// option.
	// event_handler_enabled *: This directive is used to determine whether or
	// not the event handler for this service is enabled. Values: 0 = disable
	// service event handler, 1 = enable service event handler.
	// low_flap_threshold: This directive is used to specify the low state
	// change threshold used in flap detection for this service. More
	// information on flap detection can be found here. If you set this
	// directive to a value of 0, the program-wide value specified by the
	// low_service_flap_threshold directive will be used.
	// high_flap_threshold: This directive is used to specify the high state
	// change threshold used in flap detection for this service. More
	// information on flap detection can be found here. If you set this
	// directive to a value of 0, the program-wide value specified by the
	// high_service_flap_threshold directive will be used.
	// flap_detection_enabled *: This directive is used to determine whether or
	// not flap detection is enabled for this service. More information on flap
	// detection can be found here. Values: 0 = disable service flap detection,
	// 1 = enable service flap detection.
	// flap_detection_options: This directive is used to determine what service
	// states the flap detection logic will use for this service. Valid options
	// are a combination of one or more of the following: o = OK states, w =
	// WARNING states, c = CRITICAL states, u = UNKNOWN states.
	// process_perf_data *: This directive is used to determine whether or not
	// the processing of performance data is enabled for this service. Values: 0
	// = disable performance data processing, 1 = enable performance data
	// processing.
	// retain_status_information: This directive is used to determine whether or
	// not status-related information about the service is retained across
	// program restarts. This is only useful if you have enabled state retention
	// using the retain_state_information directive. Value: 0 = disable status
	// information retention, 1 = enable status information retention.
	// retain_nonstatus_information: This directive is used to determine whether
	// or not non-status information about the service is retained across
	// program restarts. This is only useful if you have enabled state retention
	// using the retain_state_information directive. Value: 0 = disable
	// non-status information retention, 1 = enable non-status information
	// retention.
	// notification_interval: This directive is used to define the number of
	// "time units" to wait before re-notifying a contact that this service is
	// still in a non-OK state. Unless you've changed the interval_length
	// directive from the default value of 60, this number will mean minutes. If
	// you set this value to 0, Nagios will not re-notify contacts about
	// problems for this service - only one problem notification will be sent
	// out.
	// first_notification_delay: This directive is used to define the number of
	// "time units" to wait before sending out the first problem notification
	// when this service enters a non-OK state. Unless you've changed the
	// interval_length directive from the default value of 60, this number will
	// mean minutes. If you set this value to 0, Nagios will start sending out
	// notifications immediately.
	// notification_period: This directive is used to specify the short name of
	// the time period during which notifications of events for this service can
	// be sent out to contacts. No service notifications will be sent out during
	// times which is not covered by the time period.
	// notification_options: This directive is used to determine when
	// notifications for the service should be sent out. Valid options are a
	// combination of one or more of the following: w = send notifications on a
	// WARNING state, u = send notifications on an UNKNOWN state, c = send
	// notifications on a CRITICAL state, r = send notifications on recoveries
	// (OK state), f = send notifications when the service starts and stops
	// flapping, and s = send notifications when scheduled downtime starts and
	// ends. If you specify n (none) as an option, no service notifications will
	// be sent out. If you do not specify any notification options, Nagios will
	// assume that you want notifications to be sent out for all possible
	// states. Example: If you specify w,r in this field, notifications will
	// only be sent out when the service goes into a WARNING state and when it
	// recovers from a WARNING state.
	// notifications_enabled *: This directive is used to determine whether or
	// not notifications for this service are enabled. Values: 0 = disable
	// service notifications, 1 = enable service notifications.
	// contacts: This is a list of the short names of the contacts that should
	// be notified whenever there are problems (or recoveries) with this
	// service. Multiple contacts should be separated by commas. Useful if you
	// want notifications to go to just a few people and don't want to configure
	// contact groups. You must specify at least one contact or contact group in
	// each service definition.
	// contact_groups: This is a list of the short names of the contact groups
	// that should be notified whenever there are problems (or recoveries) with
	// this service. Multiple contact groups should be separated by commas. You
	// must specify at least one contact or contact group in each service
	// definition.
	// stalking_options: This directive determines which service states
	// "stalking" is enabled for. Valid options are a combination of one or more
	// of the following: o = stalk on OK states, w = stalk on WARNING states, u
	// = stalk on UNKNOWN states, and c = stalk on CRITICAL states. More
	// information on state stalking can be found here.
	// notes: This directive is used to define an optional string of notes
	// pertaining to the service. If you specify a note here, you will see the
	// it in the extended information CGI (when you are viewing information
	// about the specified service).
	// notes_url: This directive is used to define an optional URL that can be
	// used to provide more information about the service. If you specify an
	// URL, you will see a red folder icon in the CGIs (when you are viewing
	// service information) that links to the URL you specify here. Any valid
	// URL can be used. If you plan on using relative paths, the base path will
	// the the same as what is used to access the CGIs (i.e. /cgi-bin/nagios/).
	// This can be very useful if you want to make detailed information on the
	// service, emergency contact methods, etc. available to other support
	// staff.
	// action_url: This directive is used to define an optional URL that can be
	// used to provide more actions to be performed on the service. If you
	// specify an URL, you will see a red "splat" icon in the CGIs (when you are
	// viewing service information) that links to the URL you specify here. Any
	// valid URL can be used. If you plan on using relative paths, the base path
	// will the the same as what is used to access the CGIs (i.e.
	// /cgi-bin/nagios/).
	// icon_image: This variable is used to define the name of a GIF, PNG, or
	// JPG image that should be associated with this service. This image will be
	// displayed in the status and extended information CGIs. The image will
	// look best if it is 40x40 pixels in size. Images for services are assumed
	// to be in the logos/ subdirectory in your HTML images directory (i.e.
	// /usr/local/nagios/share/images/logos).
	// icon_image_alt: This variable is used to define an optional string that
	// is used in the ALT tag of the image specified by the <icon_image>
	// argument. The ALT tag is used in the status, extended information and
	// statusmap CGIs.
}


 